import axios from 'axios'
import { ElMessage } from 'element-plus';
import router from '@/router'

// 创建axios实例
const instance  = axios.create({
    baseURL: import.meta.env.VITE_APP_BASE_API,// 所有的请求地址前缀部分
    // baseURL: '/api',// 所有的请求地址前缀部分
    timeout: 80000, // 请求超时时间(毫秒)
    withCredentials: true,// 异步请求携带cookie
    headers: {
    // 设置后端需要的传参类型
    'Content-Type': 'application/json',
    // 'token': x-auth-token',//一开始就要token
    // 'X-Requested-With': 'XMLHttpRequest',
    }
})

// request拦截器
instance.interceptors.request.use(
    config => {

        console.log('拦截器request：', config);

    //     //在发送请求之前做什么
    //     let tokenStore = useTokenStore()

    //     console.log("请求token：", tokenStore.token);
        
    //     // 如果token有值，携带
    //     if (tokenStore.token) {
    //         config.headers.Authorization = tokenStore.token
    //     }

    //     //如果token中有值，在携带
        return config
    },
    // error => {
    //     // 对请求错误做些什么
    //     Promise.reject(error)
    // }
)
 
// response 拦截器
instance.interceptors.response.use(
    result => {

        console.log('拦截器response：', result);
        
        //成功，正常返回数据
        if (result.status == 200) {
            return result.data
        } 

        ElMessage.error(result.data.msg ? result.data.msg : '服务异常')

        // 操作失败
        return Promise.reject(result.data)
    } 
)

export default instance 